#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef int sldatatype;
typedef struct slistnode
{
	sldatatype data;
	struct slistnode* next;
}slnode;

void slnodeprint(slnode* phead);

void slpushback(slnode** pphead, sldatatype x);

void slpushfront(slnode** pphead, sldatatype x);

void slpopback(slnode** pphead);

void slpopfront(slnode** pphead);

slnode* slfind(slnode* phead, sldatatype x);

slnode* slinsert(slnode** pphead, slnode* pos, sldatatype x);

slnode* slinsertafter(slnode* pos, sldatatype x);

void slerase(slnode** pphead, slnode* pos);

void sleraseafter(slnode* pos);

void destory(slnode** pphead);